package com.whmall.service.crm.api;

import com.whmall.component.entity.dto.OperatorReqDTO;
import com.whmall.component.entity.dto.PageReqDTO;
import com.whmall.component.entity.dto.PageRspDTO;
import com.whmall.service.crm.entity.dto.company.*;
import com.whmall.service.crm.entity.dto.companyuser.CompanyUserAddressDTO;

import java.util.List;

/**
 * 公司用户地址API
 *
 * @Author xiangzhou
 * @Date 2020-07-16 13:24
 */
public interface CompanyUserAddressApi {

    CompanyUserAddressDTO getById(long id);

    CompanyUserAddressAddRspDTO add(CompanyUserAddressAddReqDTO reqDTO);

    String update(CompanyUserAddressUpdateReqDTO reqDTO);

    void genInvoiceAddress(Long id, OperatorReqDTO operator);

    void remove(Long id, OperatorReqDTO operator);

    void setDefault(Long id, OperatorReqDTO operator);

    List<CompanyUserAddressQueryRspDTO> list(CompanyUserAddressQueryReqDTO queryReqDTO);

    PageRspDTO<CompanyUserAddressQueryRspDTO> list(PageReqDTO pageReqDTO, CompanyUserAddressQueryReqDTO reqDTO);
}
